Content addressable memory (CAM) devices are frequently used in network switching and routing applications to determine forwarding destinations for data packets. A CAM device can be instructed to compare a selected portion of an incoming packet (e.g., a destination address extracted from the packet header) with CAM words (e.g., forwarding address) stored in an array within the CAM device. If there is a matching entry stored in the CAM array, the index of the matching CAM word can be used to access a corresponding location in an associated memory device to retrieve a destination address and/or other routing information for the packet.
More specifically, a CAM device includes a CAM array having a plurality of CAM cells organized in a number of rows and columns. Each row of CAM cells, which can be used to store a CAM word, is coupled to a corresponding match line that indicates match results for the row. Each column of CAM cells is typically coupled to one or more data lines or data line pairs that can be used to drive data into a selected CAM row during write operations and/or for providing a search key to the CAM rows during compare operations. During a compare operation, the search key (e.g., the comparand word) is provided to the CAM array and compared with the CAM words stored therein. For each CAM word that matches the search key, a corresponding match line is asserted to indicate the match result. If any of the match lines are asserted, a match flag is asserted to indicate the match condition, and a priority encoder determines the match address or index of the highest priority matching entry in the CAM array.
Typically, local routing lines that provide electrical connections between components of adjacent CAM cells are formed in the metal-1 layer of the CAM device, the data lines (e.g., the comparand lines and/or the bit lines) of the CAM array are formed in the metal-2 layer of the CAM device, and the match lines are formed in the metal-3 layer of the CAM device. Unfortunately, forming the data lines in the metal-2 layer causes such data lines to have an undesirably high capacitance, which in turn results in undesirably high power consumption. In addition, as semiconductor device geometries decrease, power consumption plays an increasingly important role in the design, fabrication, and operation of CAM devices. Thus, it would be desirable to reduce the power consumption of CAM devices while also increasing the ability to scale such CAM devices with smaller process geometries.